﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using BCEntity.OA.Workflow.WorkflowActivityInstanceReference;

namespace BCData.OA.Workflow.WorkflowActivityInstanceReference
{
    /// <summary>
    /// 工作流活动实例映射
    /// </summary>
    public interface IWorkflowActivityInstanceReferenceData
    {
        /// <summary>
        /// 添加工作流活动实例映射
        /// </summary>
        /// <param name="referenceEntity">工作流活动实例映射信息</param>
        /// <returns></returns>
        Task<bool> Add(WorkflowActivityInstanceReferenceEntity referenceEntity);
       
        /// <summary>
        /// 获取工作流活动实例映射信息
        /// </summary>
        /// <param name="workflowActivityInstanceId">工作流活动实例Id</param>
        /// <returns></returns>
        Task<WorkflowActivityInstanceReferenceEntity> Get(long workflowActivityInstanceId);
        
        /// <summary>
        /// 获取工作流活动实例映射信息
        /// </summary>
        /// <param name="referenceNo">映射编号</param>
        /// <returns></returns>
        Task<WorkflowActivityInstanceReferenceEntity> Get(string referenceNo);

        Task<IEnumerable<WorkflowActivityInstanceReferenceEntity>> GetWorkflowActivityInstanceReferencesByReferenceNumber(string referenceNo);
    }
}
